﻿using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;

namespace Framework.Data.Utilities
{
    public static class DateUtil
    {

        /// <summary>
        /// Fonction qui calcule la date de début de l'année fiscale à partir d'une date donnée.
        /// </summary>
        /// <param name="fromDate">Date à partir de laquel l'année fiscale sera déduit</param>
        /// <returns>DateTime</returns>
        /// <remarks></remarks>
        public static DateTime GetFiscalYearStartDate(DateTime fromDate)
        {
            DateTime yearStartDate = default(DateTime);

            switch (fromDate.Month)
            {
                case 11:
                case 12:
                    yearStartDate = new DateTime(fromDate.Year, 11, 1);
                    break;
                default:
                    yearStartDate = new DateTime(fromDate.Year - 1, 11, 1);
                    break;
            }

            return yearStartDate;
        }

        /// <summary>
        /// Fonction qui calcule la date de fin du mois à partir d'une date donnée
        /// </summary>
        /// <param name="fromDate">Date à partir de laquel la date de fin de mos sera déduit</param>
        /// <returns>DateTime</returns>
        /// <remarks></remarks>
        public static DateTime GetMonthEndDate(DateTime fromDate)
        {
            DateTime monthEndDate = default(DateTime);
            monthEndDate = new DateTime(fromDate.Year, fromDate.Month, DateTime.DaysInMonth(fromDate.Year, fromDate.Month));
            return monthEndDate;
        }


    }
}